Interframe video encoding systems in the past predicted a current frame from a previously reconstructed frame and performed quantization on the residual between the previous frame and the predicted frames on a region-by-region basis. For example, in the Moving Pictures Experts Group 2 (MPEG-2) Video Compression Standard, published 1994, macroblocks of 16.times.16 pixels are predicted and the residual of the macroblocks are encoded. Due to the structure of the encoded bitstream syntax, the regions are encoded in a sequential fashion starting at the top-left comer of the frame and proceeding in rows across, and then down the frame. If a particular data rate is required for the transmission of the encoded bitstream within a bandlimited channel, data rate control is employed to encode each frame to a specific bit allocation. Accurate control of the encoded frame size is required for low-delay environments because an overshoot in the encoded frame size is buffered, incurring delay.
Prior methods used for frame-accurate data rate control dynamically increased or decreased the degree of lossy encoding for each region of the residual frame to achieve the desired bit allocation. A higher degree of lossy encoding generally resulted in fewer encoded bits. The decision to alter the degree of lossy encoding is performed using feedback of the number of bits spent to encode the first portion of the frame and statistical information on the regions that still need to be encoded.
A problem with these methods is that a frame may be generated with regions of vastly different reconstructed quality where the quality of the region may depend on the sequential order of the region within the frame. For example, FIG. 1 illustrates a bit map 100 of an image encoded using this prior art method of dynamic quantization. The bit map 100 includes a plurality of macroblocks 101-180. It should be appreciated that any number of macroblocks may be used to compose the bit map 100 and that 80 macroblocks are shown for illustrative purposes only. Due to the structure of the encoded bitstream syntax, the macroblocks are encoded in a sequential fashion starting at the top-left comer of the frame with macroblock 101 and proceeding left to right across each row, and then down the frame, ending with macroblock 180. If for example, the need to increase the degree of lossy encoding to meet a data rate requirement is realized during the encoding of macroblock 144, the macroblocks located at the upper regions of the frame, macroblocks 101-144, may have higher reconstructed quality than macroblocks located at the bottom regions of the frame, macroblocks 145-180. The discrepancy in the quality of the image in regions represented by macroblocks 101-144 and macroblocks 145-180 may be noticeable and undesirable. Another problem with these methods is that additional bits are required to describe the change in degree of lossy encoding for each region in the frame.